home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / flex_247.zip / flex_247 / MISC / fastwc / mywc.c next >
C/C++ Source or Header  |  1993-07-22  |  418b  |  27 lines

  1. /* A simple but fairly efficient C version of the Unix "wc" tool */
  2.  
  3. #include <stdio.h>
  4. #include <ctype.h>
  5.  
  6. main()
  7. {
  8.     register int c, cc = 0, wc = 0, lc = 0;
  9.     FILE *f = stdin;
  10.  
  11.     while ((c = getc(f)) != EOF) {
  12.         ++cc;
  13.         if (isgraph(c)) {
  14.             ++wc;
  15.             do {
  16.                 c = getc(f);
  17.                 if (c == EOF)
  18.                     goto done;
  19.                 ++cc;
  20.             } while (isgraph(c));
  21.         }
  22.         if (c == '\n')
  23.             ++lc;
  24.     }
  25. done:    printf( "%8d%8d%8d\n", lc, wc, cc );
  26. }
  27.